<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    <div id="app">
        <p>在Vue2.x版本中，数组和对象的部分变异，不能被vue监听，导致页面不会自动刷新</p>
        <p>数组变异：1.根据下标修改一整项；2.直接修改数组长度</p>
        <p>对象变异：1.新增属性 2.删除属性</p>
        <hr>
        <div v-for="(val, key, index) in obj1" :key="index">
            {{index+1}}. {{key}}-{{val}}
        </div>
        <button @click="changeObj1">新增对象属性</button>
        <button @click="delObj1">删除对象属性</button>
    </div>
    <script src="../0511/js/vue.js"></script>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                obj1: {
                    name: 'Tom',
                    age: 18,
                    sex: 'nan'
                }
            },
            methods: {
                changeObj1() {
                    // this.obj1.job='fornt end'; // 错误的方法
                    this.$set(this.obj1, 'job', 'fornt-end')
                    console.log(this.obj1);
                },
                delObj1() {
                    // delete this.obj1.name; // 错误的方法
                    this.$delete(this.obj1, 'name')
                    console.log(this.obj1);
                }
            }
        })
    </script>
</body>
</html>